package org.androidpn.server.dao;

import java.util.List;

import org.androidpn.server.entity.Role;

/**
 * Dao 角色
 * 
 * @author 蔡琪
 * 
 */
public interface RoleDao extends BaseDao<Role, Long> {
	/**
	 * 通过nickname获取角色信息
	 * 
	 * @param nickname
	 *            角色名
	 * @return 角色信息
	 */
	Role getRoleByNickname(String nickname);

	/**
	 * 判断角色名是否存在
	 * 
	 * @param nickname
	 *            角色名
	 * @return
	 * 
	 */
	boolean nicknameExist(String nickname);

	/**
	 * 通过用户名获取角色信息
	 * 
	 * @param username
	 * @return
	 */
	List<Role> getRolesByUsername(String username);

	/**
	 * 通过nickname和username获取角色信息
	 * 
	 * @param nickname
	 *            角色昵称
	 * @param username
	 *            用户名
	 * @return 如果没有找的响应的role则返回null
	 */
	Role getRoleByNicknamAndUsername(String nickname, String username);

	List<Role> getRolesByUserId(Long userId);
}
